The invention relates to digital data processing and, more particularly, to the execution of parallel tasks on multiprocessing systems.
Developers of multiprocessing computer systems have found it desirable to create parallel processing software tools by redesigning existing uniprocess applications. This typically involves supplementing those existing applications by adding software that partitions input data for access across multiple processors, releases that data to the processors, and gathers up the results, e.g., for display to the operator.
Although this has a tremendous appeal, it is evident that only those applications with high computation-to-I/O ratios benefit from such a simplistic approach. Moreover, as the number of processors performing an application increases, the marginal benefit of adding one more processor decreases. This is because partitioning and collection time stays the same, or increases due to additional overhead, while the per-processor processing time decreases due to greater concurrency.
An objective of the present invention is, therefore, to provide improved methods and apparatus for execution of parallel tasks on multiprocessing systems.
More particularly, an objective is to provide a high-performance, flexible, scalable and easy-to-use systems for implementing and/or executing programs for parallel execution on such systems.
A related object is to provide an improved method of interprocess access of data on multiprocessing systems.